const model  = require('../model/model');
const basedao=require('../basedao')
const mongoose = require('mongoose');


/* 添加科目 
单科目表,不牵扯到科目-职业中间表
*/
async function  addkemu(data){
	  	 let dd=new model.modelkemu(data)
		 return	dd.save()
}

/* 
查询科目
skip
limit
*/
 async function  querykemuPages(skip=0,limit=0){
	
	// let dd=new model.modelkemu(data)
	return	model.modelkemu.find().skip(skip).limit(limit)
 		
}

/* 修改科目 */
async function  updateKemu(kemuid,data){
	
	// let dd=new model.modelkemu(data)
	return	model.modelkemu.findByIdAndUpdate(kemuid,data)
 		
}

/* 删除科目 */
async function  deleteKemu(kemuID){
	return	model.modelkemu.findOneAndDelete(kemuID)
}





/* 添加科目-职业中间表 */
async function  addkemuZhiye(data){
	let yy=new model.modelkemuZhiye(data)
    return	yy.save()
}


class kemudao extends basedao.basedao{
	getinfo(id){
		return new Promise((res,rej)=>{
	
				model.modelkemuZhiye.aggregate(
					        [
						             {
						                $match: { 'zhiyeID': mongoose.Types.ObjectId(id) }
						             },
						             {
						                 $lookup:{
						 
						                     from:'kemu',
						                     localField:'kemuID',
						                     foreignField:'_id',
						                     as:'kemu'
						                 }
						             },
						             {
							                 $lookup:{
							 
							                     from:'profession',
							                     localField:'zhiyeID',
							                     foreignField:'_id',
							                     as:'profession'
							                 }
							             }
						        ]  
						     ,(err,docs)=>{
						//          console.log(err,docs)
						         if(err){res(err)}else if(docs){res(docs)}
						    }
				)
		
		
		
		})
	
	}
}
	





	





module.exports={
	addkemu,addkemuZhiye,querykemuPages,updateKemu,deleteKemu,
	kemudao
}
